package com.frogs.ucenter.v1.service;

import com.frogs.system.web.api.request.Request;
import com.frogs.system.web.api.response.Response;

public interface UserRechargeConsumeRecordService {

	/**
	 * 余额消费
	 * 
	 * @param request
	 * @return
	 * @throws Exception 
	 */
	Response balanceConsume(Request request) throws Exception;

	/**
	 * 发送消费验证码
	 * 
	 * @param request
	 * @return
	 * @throws Exception 
	 */
	Response sendConsumeCode(Request request) throws Exception;
	
	/**
	 * 校验消费验证码
	 * 
	 * @param request
	 * @return
	 * @throws Exception 
	 */
	Response verifyConsumeCode(Request request) throws Exception;
	
	/**
	 * 获取余额消费记录
	 * @param request
	 * @return
	 */
	Response listConsume(Request request) throws Exception;
	
	/**
	 * 冻结余额
	 * @param request
	 * @return
	 * @throws Exception
	 */
	Response blockingRechargeBalance(Request request) throws Exception;
	
	/**
	 * 解冻金额
	 * @param request
	 * @return
	 * @throws Exception
	 */
	Response unfreezeRechargeBalance(Request request) throws Exception;
	
	/**
	 * 清除冻结金额
	 * @param request
	 * @return
	 * @throws Exception
	 */
	Response releaseBlockingBalance(Request request) throws Exception;

	/**
	 * 获取余额消费记录(财务调用)
	 * @param request
	 * @return
	 */
	Response listConsumeByDate(Request request) throws Exception;
}